# -*- coding: utf-8 -*-
"""
@date: 2020/12/18 15:42
@file: pickle_load_save.py
@author: lilong
@desc: pickle模块主要函数的应用举例
"""

import pickle

dataList = [[1, 1, 'yes'],
            [1, 1, 'yes'],
            [1, 0, 'no'],
            [0, 1, 'no'],
            [0, 1, 'no']]

dataDic = {0: [1, 2, 3, 4],
           1: ('a', 'b'),
           2: {'c': 'yes', 'd': 'no'}}

# 使用dump()将数据序列化到文件中
with open('dataFile.txt', 'wb') as fw:
    pickle.dump(dataList, fw, -1)   # 使用可用的最高协议对列表进行Pickle。
    pickle.dump(dataDic, fw)        # Pickle字典使用协议0。

# 使用load()将数据从文件中序列化读出
fr = open('dataFile.txt', 'rb')
data1 = pickle.load(fr)
print(data1)


# 使用dumps()和loads()举例
p = pickle.dumps(dataList)
print(pickle.loads(p))
p = pickle.dumps(dataDic)
print(pickle.loads(p))